﻿// 4804. 构造矩阵.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

/*
https://www.acwing.com/problem/content/4807/

给定一个 m
 行 n
 列的 01
 矩阵 B
。

请你构造一个 m
 行 n
 列的 01
 矩阵 A
。

矩阵的行编号为 1∼m
，列编号为 1∼n
。

Bij
 表示矩阵 B
 中第 i
 行第 j
 列的元素。

要求，构造的矩阵 A
 满足，对于每一个 Bij
：

如果 Bij=0
，则矩阵 A
 中第 i
 行的 n
 个元素以及第 j
 列的 m
 个元素总共 n+m−1
 个元素必须全都为 0
。
如果 Bij=1
，则矩阵 A
 中第 i
 行的 n
 个元素以及第 j
 列的 m
 个元素总共 n+m−1
 个元素不能全都为 0
。
输入格式
第一行包含两个整数 m,n
。

接下来 m
 行，每行包含 n
 个整数 0
 或 1
，其中第 i
 行第 j
 列的整数表示 Bij
。

输出格式
如果不存在满足条件的矩阵 A
，则输出一行 NO 即可。

否则，第一行输出 YES，接下来 m
 行，每行输出 n
 个整数，用来表示矩阵 A
。

如果答案不唯一，则输出任意合理答案均可。

数据范围
前 5
 个测试点满足 1≤m,n≤5
。
所有测试点满足 1≤m,n≤100
。

输入样例1：
2 2
1 0
0 0
输出样例1：
NO
输入样例2：
2 3
1 1 1
1 1 1
输出样例2：
YES
1 1 1
1 1 1
输入样例3：
2 3
0 1 0
1 1 1
输出样例3：
YES
0 0 0
0 1 0
*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}
 